From Sequential to Multi-Threaded Java: An Event-Based Operational Semantics
نویسندگان
چکیده
A structural operational semantics of a non trivial sublan-guage of Java is presented. This language includes dynamic creation of objects, blocks, and synchronization of threads. First we introduce a simple operational description of the sequential part of the language, where the memory is treated as an algebra with suitably axiomatized operations. Then, the interaction between threads via a shared memory is described in terms of structures, called \event spaces," whose well-formedness conditions formalize directly the rules given in the Java language speciication. Event spaces are included in the operational judgements to develop the semantics of the full multi-threaded sublanguage, which is shown to extend the one for sequential Java conservatively. The result allows sequential programs to be reasoned about in a simpliied computational framework without loss of generality.
منابع مشابه
An Event-Based Structural Operational Semantics of Multi-Threaded Java
A structural operational semantics of a signiicant sublan-guage of Java is presented, including the running and stopping of threads, thread interaction via shared memory, synchronization by monitoring and notiication, and sequential control mechanisms such as exception handling and return statements. The operational semantics is paramet-ric in the notion of \event space" 6], which formalizes th...
متن کاملVerifying a compiler optimization for Multi-Threaded Java
The speciication for the object-oriented concurrent language Java 3] is rather loose w.r.t. the interaction of shared memory and the local working memories of diierent threads, in order to allow for diier-ent implementations. The Java speciication book describes two kinds of memories, a \normal" one and a more liberal memory, to which in certain situations a variable can be written even before ...
متن کاملMachine Assisted Reasoning for Multi -Threaded Java Bytecode
In this thesis an operational semantics for a subset of the Java Virtual Machine (JVM) is developed and presented. The subset contains standard operations such as control flow, computation, and memory management. In addition, the subset contains a treatment of parallel threads of execution. The operational semantics are embedded into a μ-calculus based proof assistant, called the VeriCode Proof...
متن کاملA Formal Executable Semantics for Java
Some of the main features of the Java language are that it is object-oriented and multi-threaded. This article presents a formal semantics of a large subset of Java, including inheritance, dynamic linking and multi-threading. To describe the object-oriented features, we use a big-step semantics. The semantics of the concurrency is deened in a small-step semantics, using a structural operational...
متن کاملJava implementation platform for the integrated state- and event-based specification in PROB
PROB is an animation and model checking tool, which supports integrated eventand state-based specifications combining B and CSP. We present an initial strategy for implementing the combined specification model as a concurrent Java program. Our Java implementation for the combined B and CSP model uses a similar approach to that of JCSP. The restricted operational semantics for the integrated B a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997